import java.util.Random;
import java.util.Scanner;
import java.util.StringTokenizer;

import Jogo.Jogo;


/**
 * Classe de Teste, que testa a criacao do Tabuleiro, o sorteio das bombas 
 * e a execucao do jogo.
 * @author Arinaldo
 * @author Yuri Cariry
 */
public class Teste {
	private	static int calculaNumeroBombas(int i) {
		int numeroBombas = (int)Math.round(i*i*0.25);
		if(numeroBombas%2 == 0) return numeroBombas+1;
		return numeroBombas;
	}	
	private	static boolean x(int i) {
		if(i>0) return true;
		return false;
	}	
	/**
	 * Metodo principal, que executa o teste do jogo Campo Minado
	 * @param args
	 */
	public static void main(String[] args) {
		
		Jogo jogo = new Jogo(7, true);  // numero de jogadores e tamanho do tabuleiro
//		Random random = new Random();
//		System.out.println(random.nextInt(6));
//		int teste = 0;
//		int q = 0;
//		for (int i = 0; i < 1000; i++) {
//			teste = random.nextInt(7);
//			if(teste > 7 || teste < 0) System.out.println("Ja era!");
//			if(teste == 6) {
//				q++;
//				System.out.println("Valor maximo");
//			}
//		}
//		System.out.println(q);
//		Tabuleiro tab = new Tabuleiro(7);
//		System.out.println(tab.toString(true));
//		for (int i = 0; i < tab.getTamanho(); i++) {
//			for (int j = 0; j < tab.getTamanho(); j++) {
//				/*if(tab.getCasa(i, j).getBomba()) */System.out.print(tab.getCasa(i, j).getNumeroBombasAdjacentes()+" ");
//			}
//			System.out.println();
//		}
//		Casa casa = new Casa();
//		if(casa.getIdentificada()) {
//			System.out.println("taidentificada");
//		}
//		if(!casa.getIdentificada()) System.out.println("nao to id");
//		casa.setIdentificada(true);
//		if(casa.getIdentificada()) {
//			System.out.println("taidentificada");
//		}
//		if(!casa.getIdentificada()) System.out.println("nao to id");	
//		casa.setIdentificada(false);
//		if(casa.getIdentificada()) {
//			System.out.println("taidentificada");
//		}
//		if(!casa.getIdentificada()) System.out.println("nao to id");
//		boolean ok = false;
//		int i = 0;
//		do {
//			i++;
//			if(i == 10) ok = true;
//			System.out.println(!ok);
//		} while (!ok);
//		Tabuleiro tab = new Tabuleiro(7);
//		System.out.println(tab.toString2());
//		for (int i = 0; i < tab.getTamanho(); i++) {
//			for (int j = 0; j < (int)tab.getTamanho(); j++) {
//				tab.getCasa(i, j).setIdentificada(true);
//			}			
//		}
//		System.out.println(tab.verificaCompletudeCasas());
//		tab.getCasa(9,9).setIdentificada(false);
//		System.out.println(tab.verificaCompletudeCasas());
//		System.out.println(tab.toString());
		
//		PosicaoCollection collection = new PosicaoCollection(8);
//		Posicao posicao;
//		System.out.println(collection.getPosicao(0).toString());
//		
//		String string = Double.toString(2.3);
//		System.out.println(string);
//
//		StringTokenizer sta = new StringTokenizer(string, ".");
//		int[] inte = new int[2];
//		int a = 0;
//	    while (sta.hasMoreTokens()) {
//	    	inte[a] = Integer.parseInt(sta.nextToken());
//	    	System.out.println(inte[a]);
//	        a++;
//	    }
//		int i = 2;
//		int bombas = 0;
//		do {
//			bombas = Teste.calculaNumeroBombas(i);
//			System.out.println(bombas);
//			i++;
//		} while (bombas%2 == 1);
//		System.out.println((double)1/100);
//
//		long tamanho = 100;
//		String aux = Long.toString(tamanho);
//		long constanteMultiplicador = (long)Math.pow(100, aux.length());
//		long constanteDivisor = (long)Math.pow(10, aux.length());
//		double aux1 = Math.random();
//		double aux2 = Math.random();
//		System.out.println(aux1);
//		System.out.println(aux2);
//		double random1 = (double)(long)((aux1)*10000000000.0)/100000.0;
//		System.out.println(random1);
//		double random2 = (double)(long)((aux2)*constanteMultiplicador)/constanteDivisor;
//		System.out.println(random2);
//		System.out.println((long)random2); //inteira
//////		System.out.println((long)((random2-(int)random2)*constanteMultiplicador/constanteDivisor));
//		System.out.println((long)((random2*constanteDivisor)%constanteDivisor)); //decimal
//		String a = "99";
//		String b = "99";
//		System.out.println(Double.parseDouble(a+"."+b));
//		
//		NumeroRandomico num = new NumeroRandomico();
////		num.setNumeroMaximo(999);
//		num.setPrecisaoMaxima(3);
//		double random = 0;
//		do {
//			num.geraNumeroRandomico();
//			random = num.getNumeroRandomico();
//			System.out.println(random);
//		} while (random < num.getNumeroMaximo());
//		for (int i = 2; i < 1000; i++) {
//			num.setPrecisaoMaxima(Integer.toString(i).length());
//			num.setValorMaximo(i-1);
//			num.geraNumeroRandomico();
//			System.out.println("Tamanho: "+i+" Max: "+num.getValorMaximo()+" Random: "+num.getNumeroRandomico());
//		}
		
	}
} // fim da classe de teste

